struct BoundDescrp_t
{
    /**
     * @brief Btype 物理边界类型
     *  Bn 边界编号 1 2 3 4
     *  beg 当前边界的起始  以单元编号，不是网格点
     *  end 当前边界的结束
     *  带后缀s 的表示邻接边界，需要从其获取数据的“源方”
     *  lsteps = (begs < ends) ? 1 : -1;
     */
    int BType, Bn, beg, end, Bns, begs, ends;
    int lsteps, dum1, dum2, ins1, ins2;
    bool isIface;
    static int dum[4][2];
    static int ins[4][2];
    static void SetDumIns(int il, int jl)
    {
        //  static const int
        //  dum[4][2]{{1, 0}, {1, 0}, {il, imax}, {jl, jmax}};
        //  static const int
        //  ins[4][2]{{2, 3}, {2, 3}, {i2, i2 - 1}, {j2, j2 - 1}};

        dum[2][0] = il;
        dum[2][1] = il + 1;
        dum[3][0] = jl;
        dum[3][1] = jl + 1;

        ins[2][0] = il - 1;
        ins[2][1] = il - 2;
        ins[3][0] = jl - 1;
        ins[3][1] = jl - 2;
    }
    
};
// 后面两组数据需要设置
int BoundDescrp_t::
    dum[4][2]{{1, 0}, {1, 0}, {0, 0}, {0, 0}};
int BoundDescrp_t::
    ins[4][2]{{2, 3}, {2, 3}, {0, 0}, {0, 0}};